package com.example.springbootvuetest.Utils;

import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;

import java.util.Date;

/**
 * @Description: JWT的token生成工具类
 * @Author shuoye
 * @Date 2023/3/13
 * @Version 1.0
 */
public class TokenUtils {

    /**
     * 过期时间30分钟
     */
    private static final long EXPIRE_TIME = 30 * 60 * 1000;

    public static String getToken(String id,String userPassword,String role) {
        Date date = new Date(System.currentTimeMillis() + EXPIRE_TIME);
        String token="";
        token= JWT.create().withAudience(id,role) // 将 user id 保存到 token 里面
                .withExpiresAt(date) //三十分钟后token过期
                .sign(Algorithm.HMAC256(userPassword)); // 以 password 作为 token 的密钥
        return token;
    }
}
